/*
<Copyright (C) 2011 Dru Moore>

This file is part of demorecorder.

vlc-remote is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

demorecorder is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with demorecorder.  If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef UTILITIES_H
#define UTILITIES_H

#include <QString>
#include <gst/gst.h>

class Utilities
{
public:
    static bool doesPathExist(const QString path);
    static bool doesDirectoryExist(const QString path);
    static bool doesFileExist(const QString path);
    static QString incrementFileName(QString path);
    static QString getNextAvailableFileName(QString path);
    static bool createAllDirectories(const QString path);
    static QString getHomeDirectory();
    static QString getDirectoryName(const QString path);
    static QString getFileBaseName(const QString path);
    static QString getFileName(const QString path);

    static void setGObjectProperty(GObject* el, const gchar* name, long value);
    static void setGObjectProperty(GObject* el, const gchar* name, long long value);
    static void setGObjectProperty(GObject* el, const gchar* name, double value);
    static void setGObjectProperty(GObject* el, const gchar* name, bool value);
    static void setGObjectProperty(GObject* el, const gchar* name, QString value);

private:
    Utilities();
};

#endif // UTILITIES_H
